package com.ruicar.afs.cloud.channel.channelworkflow.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruicar.afs.cloud.channel.affiliation.condition.AffiliationCondition;
import com.ruicar.afs.cloud.channel.channelworkflow.condition.ChannelOnlineWorkFlowCondition;
import com.ruicar.afs.cloud.channel.channelworkflow.entity.WorkTaskAssign;
import com.ruicar.afs.cloud.channel.channelworkflow.mapper.WorkTaskAssignMapper;
import com.ruicar.afs.cloud.channel.channelworkflow.service.WorkTaskAssignService;
import com.ruicar.afs.cloud.channel.channelworkflow.vo.AffiliationWorkTaskVo;
import com.ruicar.afs.cloud.channel.channelworkflow.vo.CarDealerWorkTaskVo;
import com.ruicar.afs.cloud.channel.channelworkflow.vo.ChannelOnlineWorkTaskVo;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author mingzhi.li
 */
@Service
public class WorkTaskAssignServiceImpl extends ServiceImpl<WorkTaskAssignMapper, WorkTaskAssign> implements WorkTaskAssignService {

    /**
     * 多条件查询渠道渠道上线列表
     *
     * @param page
     * @param condition
     * @return
     */
    @Override
    public IPage<List<ChannelOnlineWorkTaskVo>> getChannelWorkFlowInfo(Page page, ChannelOnlineWorkFlowCondition condition) {
        return baseMapper.getChannelWorkFlowInfo(page, condition);
    }

    @Override
    public IPage<List<CarDealerWorkTaskVo>> getCommoncarDealerWorkflowInfo(Page page, ChannelOnlineWorkFlowCondition condition) {
        return baseMapper.getCommoncarDealerWorkflowInfo(page, condition);
    }

    @Override
    public IPage<List<CarDealerWorkTaskVo>> getDirectCarDealerWorkFlowDataByCondition(Page page, ChannelOnlineWorkFlowCondition condition) {
        return baseMapper.getDirectCarDealerWorkFlowDataByCondition(page, condition);
    }

    @Override
    public IPage<List<ChannelOnlineWorkTaskVo>> getAccountInfoList(Page page, ChannelOnlineWorkFlowCondition condition) {
        return baseMapper.getAccountInfoList(page, condition);
    }

    @Override
    public IPage<List<AffiliationWorkTaskVo>> getAffiliationWorkflowInfo(Page page, AffiliationCondition condition, List<String> roles) {
        return baseMapper.getAffiliationWorkflowInfo(page, condition,roles);
    }

    @Override
    public IPage<ChannelOnlineWorkTaskVo> getChannelQuotaTaskByCondition(Page page, ChannelOnlineWorkFlowCondition condition) {
        return baseMapper.getChannelQuotaTaskByCondition(page, condition);
    }
}
